Structures
Stack principle
NOTE: Each of the big blocks is a struct (or class) that has
a pointer to another one. Remember that the pointer only
stores the memory location of something, it is not that
thing, so the arrow goes to the next one. At the end, there
is nothing for the pointer to point to, so it does not point to
anything, it should be set to "NULL" to prevent it from
accidentally pointing to a totally arbitrary and random
location in memory (which is very bad).